package cn.lagou

/**
 * 题目一：百元喝酒
 * 每瓶啤酒2元，3个空酒瓶或者5个瓶盖可换1瓶啤酒。100元最多可喝多少瓶
 */
object DrinkBeer {
  def main(args: Array[String]): Unit = {
    val finalCount = 50 + process(50, 50);
    println("===============================")
    println(s"100元一共喝了${finalCount}瓶啤酒")
  }

  // 传入喝完时空瓶数和瓶盖数
  def process(bottle: Int, cap: Int): Int = {
    val count = bottle / 3 + cap / 5
    if (count <= 0)
      return 0

    println(s"瓶盖和空瓶一共换了${count}瓶啤酒")
    val modBot = bottle % 3 //兑换完剩余酒瓶数
    val modCap = cap % 5 //兑换完瓶盖数
    println(s"喝完之后，剩余空瓶数${count + modBot},剩余瓶盖数${count + modCap}")
    count + process(count + modBot, count + modCap)
  }
}
